class Person:
    def __init__(self,name, age):
        self.name = name
        self.age = age

    def sing(self):
        print("people can sing songs")


p = Person("张三", 30)

# 特殊属性: __dict__ ,
print(p.__dict__)  # 此处获取对象p的属性字典
print(Person.__dict__)  # 此处获取类Person的属性字典

# 特殊属性: __class__ ,
print(p.__class__)  # 此处输出的是p对象所属的类信息
print(Person.__bases__)  # 此处输出的是Person类的所有父类信息，python是允许类的多继承的
print(Person.__base__)  # 此处输出的是Person类的最先继承的父类信息
print(Person.__mro__)  # 此处输出的是Person类的继承关系
print(Person.__subclasses__())  # 此处输出的是Person类的所有子类的列表

# 特殊方法
# __add__()方法， 等同于 + ,
# __len__()方法， 等同于 len(),
# --str__()方法
# 








